/*
 * Tupla.cpp
 *
 *  Created on: 12 Nov 2014
 *      Author: leo
 */

#include "Tupla.h"


Tupla::Tupla()
{

}

Tupla::Tupla(int numeroTerminos) {
	this->nroDeTerminos=numeroTerminos;
	//std::string tuplaDeTerminosNueva[numeroTerminos];
	std::string* tuplaDeTerminosNueva= new std::string[numeroTerminos];

	for(int i=0; i<numeroTerminos;i++)
		tuplaDeTerminosNueva[i]="";

	this->tuplaDeTerminos=tuplaDeTerminosNueva;
}

void Tupla::add(std::string termino){

this->tuplaDeTerminos[this->nroDeTerminos]=termino;
this->nroDeTerminos++;

}

Tupla::~Tupla()
{
//	delete[] tuplaDeTerminos;
	//delete this;

}

int Tupla::compareTo(Tupla tuplaAComparar,int elementosAComparar)//-1 esta tupla(la this) es la mayor, 0 son iguales, 1 la tuplaAComparar es la mayor
{


	if (this->nroDeTerminos< tuplaAComparar.nroDeTerminos)

		return -1;

	else
		{
			if(this->nroDeTerminos> tuplaAComparar.nroDeTerminos)
					return 1;
			else
			{
				for(int i=0; i<elementosAComparar;i++)
				{
					if (this->tuplaDeTerminos[i]> tuplaAComparar.tuplaDeTerminos[i])

							return -1;

						else
							{
								if(this->tuplaDeTerminos[i]< tuplaAComparar.tuplaDeTerminos[i])
										return 1;
							}


				}

				return 0;
			}

		}

		return 0;


}

void Tupla::liberarRecursos()
{
	delete[] tuplaDeTerminos;
}
